home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 18 / CU Amiga Magazine's Super CD-ROM 18 (1997)(EMAP Images)(GB)[!][issue 1998-01].iso / CUCD / Programming / AmigaE / Src / OOmodules / sort / numbers / integer.e < prev    next >
Encoding:
Text File  |  1995-05-20  |  1.6 KB  |  81 lines

  1. -> integer.e is a very SIMPLE object for handling integers.
  2. -> It's writen by Trey Van Riper of the Cheese Olfactory Workshop
  3. OPT MODULE
  4. OPT EXPORT
  5.  
  6. MODULE 'oomodules/sort/numbers'
  7.  
  8. -> NOTE: In the future, 'integer' will be derived from 'number'.
  9. -> In the meantime, though, I'll just leave it like this.
  10.  
  11. OBJECT integer OF number
  12.  number
  13. ENDOBJECT
  14.  
  15. -> size() returns how much memory you can expect to use.
  16.  
  17. PROC size() OF integer IS 8
  18.  
  19. -> name() returns the name of this kind of object.
  20.  
  21. PROC name() OF integer IS 'Integer'
  22.  
  23. -> The all-important 'cmp()' method!
  24.  
  25. PROC cmp(item:PTR TO integer) OF integer
  26.  IF self.number < item.number THEN RETURN -1
  27.  RETURN IF self.number > item.number THEN 1 ELSE 0
  28. ENDPROC
  29.  
  30. -> select() doesn't do much.. lets you set a value from new().
  31.  
  32. PROC select(opt,i) OF integer
  33.  DEF item
  34.  item:=ListItem(opt,i)
  35.  SELECT item
  36.   CASE "set"
  37.    INC i
  38.    self.set(ListItem(opt,i))
  39.  ENDSELECT
  40. ENDPROC i
  41.  
  42. -> write(), to create a string out of the integer.
  43.  
  44. PROC write() OF integer
  45.  DEF out
  46.  out:=String(14)
  47.  StringF(out,'\d',self.number)
  48. ENDPROC out
  49.  
  50. -> get()ing the integer itself.
  51.  
  52. PROC get() OF integer IS self.number
  53.  
  54. -> set()ing the integer in some way.
  55.  
  56. PROC set(in) OF integer
  57.  self.number:=in
  58. ENDPROC
  59.  
  60. PROC add(in) OF integer
  61.  self.number := self.number + in
  62. ENDPROC
  63.  
  64. PROC subtract(in) OF integer
  65.  self.number := self.number - in
  66. ENDPROC
  67.  
  68. PROC divide(in) OF integer
  69.  self.number := self.number / in
  70. ENDPROC
  71.  
  72. PROC multiply(in) OF integer
  73.  self.number := self.number * in
  74. ENDPROC
  75.  
  76. -> addition by GG: negate it
  77. PROC negate() OF integer
  78.  self.number := 0 - self.number
  79. ENDPROC
  80.  
  81.